package cn.kgc.javaweb.servlet;

import cn.kgc.javaweb.entity.User;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;

/**
 * @author: mosin
 * @version: v1.0  2022/10/25
 */
//@WebServlet("/user")
public class UserServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {


        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String address = req.getParameter("address");


        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        user.setAddress(address);

        // 将user对象封装到集合
        ArrayList<User> users = new ArrayList<>();
        Collections.addAll(users, user,user,user,user);

        /*
        * 响应   跳转页面
        * 转发：   服务器内部的行为 不会改变地址栏  一次请求    可以使用请求对象实现数据共享
        *  /javaweb/user  -> /javaweb/user    user.html
        * 重定向： 浏览器的行为   会改变地址栏     两次请求    不可以使用请求对象实现数据共享
        * /javaweb/user   -> /javaweb/user.html   user.html
        * */

        //  转发  req  绑定数据   users

        //req.setAttribute("users", users);  //  /user
        /**
         *  user.jsp  ->  user_jsp.java  -> user_jsp.class
         *   UserServlet   -访问- >  user_jsp.java  --req,resp-- >  _jspService(request,response)
         */
        //req.getRequestDispatcher("/user.jsp").forward(req,resp);



        //重定向  resp  /javaweb  项目的虚拟名称  req.getContextPath()     /user  /user.jsp   同一次会话
        //  会话对象中存储数据  session
        HttpSession session = req.getSession();
        session.setAttribute("users", users);

        resp.sendRedirect(req.getContextPath()+"/user.jsp");

    }
}
